﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ECS.DAL.Entity
{
    public class Location : ObjectContext
    {
        #region private properties
        private string _locationId = string.Empty;
        private string _whMasterId = string.Empty;
        private string _pickAreaId = string.Empty;
        private string _locationName = string.Empty;
        private string _description = string.Empty;
        private string _locationType = string.Empty;
        private string _status = string.Empty;
        private float? _length = 0;
        private float? _width = 0;
        private float? _height = 0;
        private float? _capacity = 0;
        private string _lpnController = string.Empty;
        private string _mixOwners = string.Empty;
        private string _mixItems = string.Empty;
        private string _mixLot = string.Empty;
        private string _mixExpireDate = string.Empty;
        private int? _putAwaySequence = 0;
        private int? _pickSequence = 0;
        private string _overrideReceiveDate;
        private string _isActive = string.Empty;
        private DateTime _createDate;
        private string _createBy = string.Empty;
        #endregion

        #region public properties
        public string LocationId
        {
            get { return _locationId; }
            set
            {
                _locationId = value;
                UpdateObject();
            }
        }
        public string WhMasterId
        {
            get { return _whMasterId; }
            set
            {
                _whMasterId = value;
                UpdateObject();
            }
        }
        public string PickAreaId
        {
            get { return _pickAreaId; }
            set
            {
                _pickAreaId = value;
                UpdateObject();
            }
        }
        public string LocationName
        {
            get { return _locationName; }
            set
            {
                _locationName = value;
                UpdateObject();
            }
        }
        public string Description
        {
            get { return _description; }
            set
            {
                _description = value;
                UpdateObject();
            }
        }
        public string LocationType
        {
            get { return _locationType; }
            set
            {
                _locationType = value;
                UpdateObject();
            }
        }
        public string Status
        {
            get { return _status; }
            set
            {
                _status = value;
                UpdateObject();
            }
        }
        public float? Length
        {
            get { return _length; }
            set
            {
                _length = value;
                UpdateObject();
            }
        }
        public float? Width
        {
            get { return _width; }
            set
            {
                _width = value;
                UpdateObject();
            }
        }
        public float? Height
        {
            get { return _height; }
            set
            {
                _height = value;
                UpdateObject();
            }
        }
        public float? Capacity
        {
            get { return _capacity; }
            set
            {
                _capacity = value;
                UpdateObject();
            }
        }
        public string LpnController
        {
            get { return _lpnController; }
            set
            {
                _lpnController = value;
                UpdateObject();
            }
        }
        public string MixOwners
        {
            get { return _mixOwners; }
            set
            {
                _mixOwners = value;
                UpdateObject();
            }
        }
        public string MixItems
        {
            get { return _mixItems; }
            set
            {
                _mixItems = value;
                UpdateObject();
            }
        }
        public string MixLot
        {
            get { return _mixLot; }
            set
            {
                _mixLot = value;
                UpdateObject();
            }
        }
        public string MixExpireDate
        {
            get { return _mixExpireDate; }
            set
            {
                _mixExpireDate = value;
                UpdateObject();
            }
        }
        public int? PutAwaySequence
        {
            get { return _putAwaySequence; }
            set
            {
                _putAwaySequence = value;
                UpdateObject();
            }
        }
        public int? PickSequence
        {
            get { return _pickSequence; }
            set
            {
                _pickSequence = value;
                UpdateObject();
            }
        }
        public string OverrideReceiveDate
        {
            get { return _overrideReceiveDate; }
            set
            {
                _overrideReceiveDate = value;
                UpdateObject();
            }
        }
        public string IsActive
        {
            get { return _isActive; }
            set
            {
                _isActive = value;
                UpdateObject();
            }
        }
        public DateTime CreateDate
        {
            get { return _createDate; }
            set
            {
                _createDate = value;
                UpdateObject();
            }
        }
        public string CreateBy
        {
            get { return _createBy; }
            set
            {
                _createBy = value;
                UpdateObject();
            }
        }

        public string AppId { set; get; }
        public string Device { set; get; }
        public string UserId { set; get; }
        #endregion
    }
}
